library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.1.1
library(anytime)
library(lubridate)
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
ggplotRegression <- function (fit, data) {
print(str(data))
p <- ggplot(data = fit, mapping = aes(x = value.x, y = value.y)) + geom_point(alpha = 0.1) + geom_line(data = data, aes(x = old, y= value.y)) + geom_ribbon(data = data, mapping = aes(x = old, ymin = lower, ymax = upper), alpha = 0.2, color = "red", fill = "blue") + theme_minimal() + labs(x = "mx_old", y = "m1_current", title = "regression line plot with cfi")
return(p)
}
Ivan Svoboda
m1 = read.csv('is_m1_resampled.csv')
mx_end = read.csv('is_mx_resampled_time_end.csv')
mx_start = read.csv('is_mx_resampled_time_start.csv')
merged <- merge(mx_end, m1, by.x = "utc_time", by.y = "utc_time")
plot1 <- ccf(merged$value.x, merged$value.y, na.action = na.pass, plot = FALSE)
merged2 <- merge(mx_start, m1, by.x = "utc_time", by.y = "utc_time")
plot2 <- ccf(merged2$value.x, merged2$value.y, na.action = na.pass, plot = FALSE)
plot(plot1, main = "ccf of mx_end and m1, both resampled")

print(plot1)
##
## Autocorrelations of series 'X', by lag
##
## -42 -41 -40 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30
## 0.254 0.263 0.261 0.258 0.253 0.262 0.257 0.258 0.258 0.254 0.256 0.261 0.261
## -29 -28 -27 -26 -25 -24 -23 -22 -21 -20 -19 -18 -17
## 0.269 0.271 0.277 0.275 0.274 0.278 0.288 0.289 0.294 0.297 0.293 0.303 0.304
## -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4
## 0.321 0.325 0.339 0.345 0.355 0.359 0.356 0.366 0.373 0.387 0.397 0.423 0.459
## -3 -2 -1 0 1 2 3 4 5 6 7 8 9
## 0.508 0.523 0.545 0.551 0.497 0.433 0.416 0.392 0.381 0.369 0.361 0.356 0.344
## 10 11 12 13 14 15 16 17 18 19 20 21 22
## 0.337 0.325 0.326 0.329 0.315 0.302 0.304 0.306 0.295 0.291 0.285 0.287 0.278
## 23 24 25 26 27 28 29 30 31 32 33 34 35
## 0.271 0.265 0.267 0.266 0.257 0.255 0.254 0.262 0.250 0.250 0.249 0.247 0.250
## 36 37 38 39 40 41 42
## 0.249 0.251 0.250 0.247 0.243 0.248 0.250
plot(plot2, main = "ccf of mx_start and m1, both resampled")

print(plot2)
##
## Autocorrelations of series 'X', by lag
##
## -42 -41 -40 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30
## 0.264 0.260 0.257 0.254 0.261 0.257 0.259 0.257 0.254 0.256 0.261 0.261 0.269
## -29 -28 -27 -26 -25 -24 -23 -22 -21 -20 -19 -18 -17
## 0.271 0.276 0.275 0.275 0.278 0.287 0.290 0.293 0.297 0.293 0.303 0.306 0.321
## -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4
## 0.325 0.338 0.344 0.356 0.359 0.355 0.367 0.373 0.388 0.396 0.422 0.458 0.509
## -3 -2 -1 0 1 2 3 4 5 6 7 8 9
## 0.524 0.545 0.551 0.498 0.434 0.416 0.392 0.380 0.369 0.361 0.355 0.344 0.337
## 10 11 12 13 14 15 16 17 18 19 20 21 22
## 0.325 0.326 0.328 0.314 0.302 0.303 0.306 0.294 0.291 0.285 0.287 0.279 0.271
## 23 24 25 26 27 28 29 30 31 32 33 34 35
## 0.265 0.267 0.264 0.258 0.255 0.254 0.262 0.251 0.250 0.250 0.247 0.251 0.249
## 36 37 38 39 40 41 42
## 0.248 0.251 0.247 0.243 0.248 0.249 0.252
merged <- na.omit(merged)
plot(density(merged$value.x))

plot(density(merged$value.y))

cor(merged$value.x, merged$value.y)
## [1] 0.5630547
lin <- lm(value.y ~ 0 + value.x , data=merged)
summary(lin)
##
## Call:
## lm(formula = value.y ~ 0 + value.x, data = merged)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1937.29 -10.52 15.62 195.00 2702.78
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## value.x 8.71434 0.05838 149.3 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 270.8 on 21008 degrees of freedom
## Multiple R-squared: 0.5147, Adjusted R-squared: 0.5147
## F-statistic: 2.228e+04 on 1 and 21008 DF, p-value: < 2.2e-16
y_pred_95 <- predict(lin, interval = "confidence")
y_pred_95 <- data.frame(y_pred_95)
df_new <- data.frame(value.y = y_pred_95$fit, old = merged$value.x, lower = y_pred_95$lwr, upper = y_pred_95$upr)
ggplotRegression(merged, df_new)
## 'data.frame': 21009 obs. of 4 variables:
## $ value.y: num 17.4 17.4 17.4 26.1 17.4 ...
## $ old : num 2 2 2 3 2 2 2 2 3 3 ...
## $ lower : num 17.2 17.2 17.2 25.8 17.2 ...
## $ upper : num 17.7 17.7 17.7 26.5 17.7 ...
## NULL

ggplot(data = merged) + geom_point(mapping = aes(x = value.y, y = predict(lin)), alpha = 0.1) + labs( x = "m1_val", y = "mx_val_predicted") + labs(title = "m1_val vs mx_val_predicted")+ theme_minimal()

sona sikorova
m1 = read.csv('ss_m1_resampled.csv')
mx_end = read.csv('ss_mx_resampled_time_end.csv')
mx_start = read.csv('ss_mx_resampled_time_start.csv')
merged <- merge(mx_end, m1, by.x = "utc_time", by.y = "utc_time")
plot1 <- ccf(merged$value.x, merged$value.y, na.action = na.pass, plot = FALSE)
merged2 <- merge(mx_start, m1, by.x = "utc_time", by.y = "utc_time")
plot2 <- ccf(merged2$value.x, merged2$value.y, na.action = na.pass, plot = FALSE)
plot(plot1, main = "ccf of mx_end and m1, both resampled")

print(plot1)
##
## Autocorrelations of series 'X', by lag
##
## -41 -40 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30 -29
## 0.253 0.259 0.263 0.262 0.258 0.261 0.259 0.257 0.258 0.259 0.264 0.266 0.266
## -28 -27 -26 -25 -24 -23 -22 -21 -20 -19 -18 -17 -16
## 0.271 0.274 0.278 0.284 0.285 0.286 0.294 0.289 0.289 0.291 0.290 0.307 0.312
## -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3
## 0.316 0.320 0.316 0.328 0.332 0.335 0.355 0.355 0.364 0.366 0.378 0.386 0.406
## -2 -1 0 1 2 3 4 5 6 7 8 9 10
## 0.418 0.467 0.534 0.518 0.458 0.435 0.409 0.401 0.400 0.387 0.378 0.376 0.359
## 11 12 13 14 15 16 17 18 19 20 21 22 23
## 0.359 0.363 0.360 0.355 0.349 0.344 0.336 0.333 0.325 0.319 0.315 0.312 0.312
## 24 25 26 27 28 29 30 31 32 33 34 35 36
## 0.305 0.293 0.295 0.292 0.291 0.288 0.283 0.283 0.279 0.285 0.283 0.286 0.281
## 37 38 39 40 41
## 0.274 0.272 0.276 0.271 0.262
plot(plot2, main = "ccf of mx_start and m1, both resampled")

print(plot2)
##
## Autocorrelations of series 'X', by lag
##
## -41 -40 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30 -29
## 0.259 0.263 0.263 0.257 0.262 0.259 0.258 0.258 0.259 0.264 0.266 0.267 0.271
## -28 -27 -26 -25 -24 -23 -22 -21 -20 -19 -18 -17 -16
## 0.274 0.279 0.285 0.286 0.286 0.294 0.289 0.290 0.291 0.291 0.307 0.313 0.316
## -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3
## 0.320 0.317 0.328 0.332 0.336 0.355 0.355 0.364 0.366 0.378 0.387 0.407 0.417
## -2 -1 0 1 2 3 4 5 6 7 8 9 10
## 0.466 0.533 0.519 0.458 0.436 0.408 0.401 0.401 0.388 0.377 0.376 0.360 0.359
## 11 12 13 14 15 16 17 18 19 20 21 22 23
## 0.363 0.361 0.355 0.350 0.343 0.337 0.333 0.325 0.319 0.315 0.312 0.312 0.305
## 24 25 26 27 28 29 30 31 32 33 34 35 36
## 0.293 0.294 0.292 0.291 0.289 0.284 0.283 0.279 0.285 0.283 0.286 0.280 0.274
## 37 38 39 40 41
## 0.273 0.276 0.271 0.262 0.262
merged <- na.omit(merged)
plot(density(merged$value.x))

plot(density(merged$value.y))

cor(merged$value.x, merged$value.y)
## [1] 0.5363979
lin <- lm(value.y ~ 0 + value.x , data=merged)
summary(lin)
##
## Call:
## lm(formula = value.y ~ 0 + value.x, data = merged)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1417.77 0.46 16.08 288.51 2398.67
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## value.x 7.58412 0.04712 160.9 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 334.2 on 25012 degrees of freedom
## Multiple R-squared: 0.5087, Adjusted R-squared: 0.5087
## F-statistic: 2.59e+04 on 1 and 25012 DF, p-value: < 2.2e-16
y_pred_95 <- predict(lin, interval = "confidence")
y_pred_95 <- data.frame(y_pred_95)
df_new <- data.frame(value.y = y_pred_95$fit, old = merged$value.x, lower = y_pred_95$lwr, upper = y_pred_95$upr)
ggplotRegression(merged, df_new)
## 'data.frame': 25013 obs. of 4 variables:
## $ value.y: num 0 15.2 15.2 0 432.3 ...
## $ old : num 0 2 2 0 57 100 16 0 0 36 ...
## $ lower : num 0 15 15 0 427 ...
## $ upper : num 0 15.4 15.4 0 437.6 ...
## NULL

ggplot(data = merged) + geom_point(mapping = aes(x = value.y, y = predict(lin)), alpha = 0.1) + labs( x = "m1_val", y = "mx_val_predicted") + labs(title = "m1_val vs mx_val_predicted")+ theme_minimal()

pavel nevicky
m1 = read.csv('pn_m1_resampled.csv')
mx_end = read.csv('pn_mx_resampled_time_end.csv')
mx_start = read.csv('pn_mx_resampled_time_start.csv')
merged <- merge(mx_end, m1, by.x = "utc_time", by.y = "utc_time")
plot1 <- ccf(merged$value.x, merged$value.y, na.action = na.pass, plot = FALSE)
merged2 <- merge(mx_start, m1, by.x = "utc_time", by.y = "utc_time")
plot2 <- ccf(merged2$value.x, merged2$value.y, na.action = na.pass, plot = FALSE)
plot(plot1, main = "ccf of mx_end and m1, both resampled")

print(plot1)
##
## Autocorrelations of series 'X', by lag
##
## -38 -37 -36 -35 -34 -33 -32 -31 -30 -29 -28 -27 -26
## 0.272 0.274 0.282 0.274 0.275 0.284 0.283 0.285 0.293 0.290 0.284 0.286 0.290
## -25 -24 -23 -22 -21 -20 -19 -18 -17 -16 -15 -14 -13
## 0.284 0.291 0.288 0.288 0.283 0.299 0.299 0.297 0.300 0.303 0.302 0.311 0.318
## -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0
## 0.319 0.324 0.329 0.341 0.357 0.364 0.376 0.385 0.386 0.408 0.424 0.452 0.518
## 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0.504 0.455 0.441 0.422 0.412 0.398 0.393 0.383 0.372 0.359 0.356 0.349 0.350
## 14 15 16 17 18 19 20 21 22 23 24 25 26
## 0.345 0.334 0.331 0.326 0.316 0.311 0.309 0.306 0.297 0.300 0.300 0.301 0.303
## 27 28 29 30 31 32 33 34 35 36 37 38
## 0.299 0.298 0.287 0.287 0.283 0.285 0.280 0.288 0.288 0.294 0.285 0.280
plot(plot2, main = "ccf of mx_start and m1, both resampled")

print(plot2)
##
## Autocorrelations of series 'X', by lag
##
## -38 -37 -36 -35 -34 -33 -32 -31 -30 -29 -28 -27 -26
## 0.274 0.282 0.274 0.274 0.283 0.284 0.285 0.293 0.290 0.284 0.287 0.290 0.284
## -25 -24 -23 -22 -21 -20 -19 -18 -17 -16 -15 -14 -13
## 0.291 0.288 0.288 0.285 0.299 0.299 0.297 0.300 0.304 0.302 0.312 0.318 0.320
## -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0
## 0.325 0.329 0.341 0.357 0.364 0.376 0.386 0.386 0.408 0.424 0.451 0.518 0.504
## 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0.455 0.442 0.423 0.412 0.398 0.393 0.383 0.371 0.359 0.356 0.350 0.350 0.344
## 14 15 16 17 18 19 20 21 22 23 24 25 26
## 0.335 0.331 0.325 0.317 0.311 0.309 0.306 0.296 0.300 0.300 0.301 0.304 0.299
## 27 28 29 30 31 32 33 34 35 36 37 38
## 0.298 0.287 0.287 0.283 0.285 0.280 0.288 0.287 0.294 0.286 0.282 0.275
merged <- na.omit(merged)
plot(density(merged$value.x))

plot(density(merged$value.y))

cor(merged$value.x, merged$value.y)
## [1] 0.5187357
lin <- lm(value.y ~ 0 + value.x , data=merged)
summary(lin)
##
## Call:
## lm(formula = value.y ~ 0 + value.x, data = merged)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1475.71 7.65 15.62 232.03 2607.12
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## value.x 7.97331 0.07234 110.2 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 287 on 14369 degrees of freedom
## Multiple R-squared: 0.4581, Adjusted R-squared: 0.4581
## F-statistic: 1.215e+04 on 1 and 14369 DF, p-value: < 2.2e-16
y_pred_95 <- predict(lin, interval = "confidence")
y_pred_95 <- data.frame(y_pred_95)
df_new <- data.frame(value.y = y_pred_95$fit, old = merged$value.x, lower = y_pred_95$lwr, upper = y_pred_95$upr)
ggplotRegression(merged, df_new)
## 'data.frame': 14370 obs. of 4 variables:
## $ value.y: num 0 0 0 0 0 0 0 0 0 0 ...
## $ old : num 0 0 0 0 0 0 0 0 0 0 ...
## $ lower : num 0 0 0 0 0 0 0 0 0 0 ...
## $ upper : num 0 0 0 0 0 0 0 0 0 0 ...
## NULL

ggplot(data = merged) + geom_point(mapping = aes(x = value.y, y = predict(lin)), alpha = 0.1) + labs( x = "m1_val", y = "mx_val_predicted") + labs(title = "m1_val vs mx_val_predicted")+ theme_minimal()

katerina urbanova
m1 = read.csv('ku_m1_resampled.csv')
mx_end = read.csv('ku_mx_resampled_time_end.csv')
mx_start = read.csv('ku_mx_resampled_time_start.csv')
merged <- merge(mx_end, m1, by.x = "utc_time", by.y = "utc_time")
plot1 <- ccf(merged$value.x, merged$value.y, na.action = na.pass, plot = FALSE)
merged2 <- merge(mx_start, m1, by.x = "utc_time", by.y = "utc_time")
plot2 <- ccf(merged2$value.x, merged2$value.y, na.action = na.pass, plot = FALSE)
plot(plot1, main = "ccf of mx_end and m1, both resampled")

print(plot1)
##
## Autocorrelations of series 'X', by lag
##
## -42 -41 -40 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30
## 0.339 0.336 0.340 0.337 0.333 0.334 0.334 0.335 0.332 0.335 0.337 0.333 0.336
## -29 -28 -27 -26 -25 -24 -23 -22 -21 -20 -19 -18 -17
## 0.342 0.341 0.342 0.347 0.351 0.352 0.355 0.358 0.356 0.360 0.368 0.370 0.373
## -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4
## 0.378 0.373 0.377 0.376 0.383 0.383 0.391 0.392 0.399 0.404 0.413 0.416 0.421
## -3 -2 -1 0 1 2 3 4 5 6 7 8 9
## 0.438 0.454 0.491 0.507 0.482 0.468 0.459 0.449 0.442 0.442 0.436 0.435 0.436
## 10 11 12 13 14 15 16 17 18 19 20 21 22
## 0.430 0.426 0.424 0.427 0.428 0.425 0.426 0.420 0.421 0.417 0.421 0.412 0.406
## 23 24 25 26 27 28 29 30 31 32 33 34 35
## 0.405 0.404 0.406 0.400 0.396 0.393 0.391 0.390 0.393 0.387 0.388 0.389 0.387
## 36 37 38 39 40 41 42
## 0.388 0.384 0.380 0.379 0.380 0.381 0.375
plot(plot2, main = "ccf of mx_start and m1, both resampled")

print(plot2)
##
## Autocorrelations of series 'X', by lag
##
## -42 -41 -40 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30
## 0.337 0.340 0.339 0.333 0.336 0.335 0.333 0.333 0.335 0.339 0.333 0.336 0.343
## -29 -28 -27 -26 -25 -24 -23 -22 -21 -20 -19 -18 -17
## 0.340 0.343 0.349 0.352 0.354 0.356 0.359 0.357 0.359 0.368 0.369 0.374 0.378
## -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4
## 0.374 0.379 0.377 0.383 0.385 0.390 0.392 0.398 0.404 0.413 0.415 0.422 0.439
## -3 -2 -1 0 1 2 3 4 5 6 7 8 9
## 0.451 0.491 0.506 0.482 0.468 0.460 0.449 0.441 0.442 0.437 0.434 0.436 0.431
## 10 11 12 13 14 15 16 17 18 19 20 21 22
## 0.424 0.425 0.428 0.428 0.425 0.426 0.420 0.421 0.419 0.421 0.412 0.406 0.407
## 23 24 25 26 27 28 29 30 31 32 33 34 35
## 0.405 0.408 0.403 0.398 0.395 0.393 0.391 0.394 0.387 0.392 0.389 0.387 0.390
## 36 37 38 39 40 41 42
## 0.385 0.381 0.381 0.379 0.382 0.375 0.374
merged <- na.omit(merged)
plot(density(merged$value.x))

plot(density(merged$value.y))

cor(merged$value.x, merged$value.y)
## [1] 0.5082942
lin <- lm(value.y ~ 0 + value.x , data=merged)
summary(lin)
##
## Call:
## lm(formula = value.y ~ 0 + value.x, data = merged)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1763.96 1.56 15.62 243.63 2734.32
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## value.x 7.03393 0.04441 158.4 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 320.8 on 28613 degrees of freedom
## Multiple R-squared: 0.4672, Adjusted R-squared: 0.4672
## F-statistic: 2.509e+04 on 1 and 28613 DF, p-value: < 2.2e-16
y_pred_95 <- predict(lin, interval = "confidence")
y_pred_95 <- data.frame(y_pred_95)
df_new <- data.frame(value.y = y_pred_95$fit, old = merged$value.x, lower = y_pred_95$lwr, upper = y_pred_95$upr)
ggplotRegression(merged, df_new)
## 'data.frame': 28614 obs. of 4 variables:
## $ value.y: num 682 471 246 190 176 ...
## $ old : num 97 67 35 27 25 16 9 36 77 31 ...
## $ lower : num 674 465 243 188 174 ...
## $ upper : num 691 477 249 192 178 ...
## NULL

ggplot(data = merged) + geom_point(mapping = aes(x = value.y, y = predict(lin)), alpha = 0.1) + labs( x = "m1_val", y = "mx_val_predicted") + labs(title = "m1_val vs mx_val_predicted")+ theme_minimal()
